home *** CD-ROM | disk | FTP | other *** search
- /* ----------------------------------------------------------------
- *
- * Project: Filevirus Library
- *
- * Program: fvshow.c
- *
- * Author : Bjorn Reese <breese@imada.ou.dk>
- *
- * Short : Example showing fvShow(Next)FVInfo.
- * Compile with "sc LINK fvshow.c"
- *
- * ---------------------------------------------------------------- */
-
- #include <stdio.h>
-
- #include <exec/types.h>
- #include <proto/exec.h>
-
- #include <libraries/filevirus.h>
- #include <proto/filevirus.h>
-
- extern struct Library *SysBase;
- struct FilevirusBase *FilevirusBase=NULL;
-
- /* ---------------------------------------------------------------- */
-
- int main(void)
- {
- struct FilevirusNode *p;
- struct FilevirusInfo *pi;
- char *xs;
-
- if ( FilevirusBase = (struct FilevirusBase *)OpenLibrary("filevirus.library", 2) ) {
-
- if ( p = fvAllocNode() ) {
-
- printf("Known viruses [total: %d]\n", FilevirusBase->fb_VInfoTotal);
-
- for ( pi = fvShowFVInfo(p); pi; pi = fvShowNextFVInfo(p) ) {
-
- switch (pi->fvi_Type) {
- case FV_LINK:
- xs = "link";
- break;
- case FV_DELETE:
- xs = "delete";
- break;
- case FV_RENAME:
- xs = "rename";
- break;
- case FV_CODE:
- xs = "code";
- break;
- case FV_OVERLAY:
- xs = "overlay";
- break;
- default:
- xs = "unknown";
- break;
- }
-
- printf(" %4d %-40s (%s)\n", p->fv_VInfoCount, pi->fvi_Name, xs);
-
- }
-
- fvFreeNode(p);
-
- } else fprintf(stderr, "fvAllocNode() failed\n");
-
- CloseLibrary((struct Library *)FilevirusBase);
-
- } else fprintf(stderr, "Cannot open 'filevirus.library'\n");
-
- }
-